/*=============================================================================
* File Name : TouchEvent.h                        Ver : 1.00  Date : 2011/08/28
*
* Description :
*
*       タッチイベント.
*
* Author : yuuki tsuchida.
*============================================================================*/
#ifndef _TOUCH_EVENT_H_
#define _TOUCH_EVENT_H_

#include "../math/Vector2.h"

namespace tglib
{

class Rect;

/**
 * @brief タッチイベント．
 */
class TouchEvent
{
public:
	/*===========================================================================*/
	/**
	 * コンストラクタ．
	 */
	TouchEvent();

	/*===========================================================================*/
	/**
	 * 更新．
	 *
	 * @param [in]  x 		X座標．
	 * @param [in]  y 		Y座標．
	 * @param [in]  type 	イベントタイプ．
	 */
	void update( float x, float y, int type );

	/*===========================================================================*/
	/**
	 * タッチ座標の取得．
	 *
	 * @return   タッチ座標．
	 */
	const Vector2& getTouchPoint() const;

	/*===========================================================================*/
	/**
	 * 画面をタッチしているかどうか．
	 *
	 * @return   タッチしているかどうか．
	 */
	bool isTouch() const;

	/*===========================================================================*/
	/**
	 * ＝演算子オーバーロード．
	 *
	 * @param [in]  other 	コピー元.
	 * @return   自分自身．
	 */
	const TouchEvent& operator = ( const TouchEvent& other );

public:
	/** @brief タッチ開始 */
	static const int	EVENT_TYPE_DOWN;

	/** @brief タッチ移動 */
	static const int	EVENT_TYPE_MOVE;

	/** @brief タッチされてない */
	static const int	EVENT_TYPE_NONE;

private:
	/** @brief タッチ位置 */
	Vector2		m_touchPoint;

	/** @brief イベントタイプ */
	int			m_type;
};

}

#endif

/*========= End of File =====================================================*/
